package org.blog.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.blog.model.ModelArticle;

public interface ArticleDao {

	/**
	 * 添加文章
	 * @param t
	 */
	public void addUserArticle(ModelArticle t);

	/**
	 * 修改自己的文章
	 * @param t
	 */
	public void modifyUserArticle(ModelArticle t);

	/**
	 * 删除自己的文章
	 * @param t
	 */
	public void deleteUserArticle(ModelArticle t);
	
	/**
	 * 管理员删除文章
	 * @param t
	 */
	public void deleteAdminArticle(ModelArticle t);

	/**
	 * 获取文章
	 * @param id
	 * @return
	 */
	public ModelArticle getArticle(Integer id);

	/**
	 * 获取自己发布的所有文章
	 * @return
	 */
	public List<ModelArticle> getUserListArticle(String username);
	/**
	 * 获取自己草稿的所有文章
	 * @return
	 */
	public List<ModelArticle> getUserDraftListArticle(String username);
	
	/**
	 * 分页获取所有文章
	 * 
	 * @return
	 */
	public List<ModelArticle> getListArticle(@Param("start") int start,@Param("end") int end);

	/**
	 * 分页获取分类里面的所有文章
	 * 
	 * @param page
	 * @return
	 */
	public List<ModelArticle> getListCatalogArticle(@Param("catalogId") int catalogId,@Param("start") int start,@Param("end") int end);
}
